package logica;

import java.util.Map;

public abstract class Formula 
{
	/** Contem os conjuntos de simbolos proposicionais e operadores */
	private 
	CalculoProposicional calculoProposicional;
	
	public 
	Formula(CalculoProposicional calculo){
		calculoProposicional = calculo;
	}
	
	/** Retorna a instancia de cálculo proposicional cuja formula se baseia. */
	public
	CalculoProposicional getCalculoProposicional()
	{
		return calculoProposicional;
	}
	
	abstract public 
	boolean valorar(Map<Atomo, Boolean> valoracao) throws Exception;
}
